package com.imooc.ad.mysql.dto;

import com.github.shyiko.mysql.binlog.event.EventType;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * 根据BinlogServiceTest中registerEventListener，Event（事件）中包含EventHeader（增删改操作类型） EventData（变化数据）
 * BinlogServiceTest监听Binlog，将变化的日志信息，解析成需要的对象
 *
 * Binlog变化 -> 统一处理对象BinlogRowData -> 增量数据对象MySqlRowData
 * -> 增量数据处理器IncrementListener实现转化并投递 -> IndexSender实现层级增量数据投递
 */
@Data
public class BinlogRowData {
    //表名
    private TableTemplate table;
    //操作类型
    private EventType eventType;

    //List内是map<操作表名,更新数据>格式
    private List<Map<String, String>> after;

    //更新操作才有，其他操作为空
    private List<Map<String, String>> before;
}
